<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>对战平台U3D-API-HTTP: 对战平台 Http接口</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">对战平台U3D-API-HTTP
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li class="current"><a href="index.html"><span>首页</span></a></li>
      <li><a href="namespaces.html"><span>包</span></a></li>
      <li><a href="annotated.html"><span>类</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">对战平台 Http接口 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a href="http://vs.cmgame.com">对战平台引擎官网 </a></p>
<p><br />
欢迎使用对战平台对战引擎 </p><h2><b> 对战平台 </b></h2>
<p><b>对战平台</b>是一款全新的功能强大的跨平台对战引擎，它致力于向广大游戏开发者提供优质的游戏网络对战服务。使用了对战平台的服务，游戏开发者可以将单机游戏快速便捷的改造为网络对战游戏。对战平台不断优化网络结构，均衡负载，优化对战匹配及数据延迟，为开发者及玩家提供稳定高质量的游戏服务。</p>
<h3>HTTP接口</h3>
<p><br />
实现了标准化运营的协议. <br />
相关的接口调用方式见 <a href="./annotated.html">API文档</a></p>
<p><br />
对战平台运营功能说明文档  <br />
  <br />
为了方便开发者在接入对战平台对战后，能够拥有快速上线各大平台及自身的运营能力，对战平台为开发者提供一套基础运营能力，用户只需要调用对应的接口，即可使用这些运营功能，同时可以自定义设置功能的内容，满足开发者各种运营需求。  <br />
对于部分CP需要更深度的定制需求，以下的运营功能可能无法全部满足，请参考对战平台对战引擎1.3版本的插件逻辑，开发者可以通过对战平台插件把需要的功能快速开发出来并使用。  <br />
   <br />
一、仲裁结果设置 <br />
   <br />
开发者游戏结果上报时，对战平台对战服务会根据开发者设置的数据模式进行结果记录和累积，数据计算方式包括累加、取大、取小。结果A、B、C等数据对应胜负平，至少需要设置其中一个结算值的处理类型。  <br />
设置举例：  <br />
结果A的定义是胜利，开发者选择处理类型为累加，则战绩结果在客户端的显示为胜利的累加信息（如果是上报局数，显示结果是用户胜利的局数；如果是分值，该条战绩显示的就是用户累加后的分数）；  <br />
结果B的定义是失败，开发者选择处理类型为取小，则上报过来的结果小的一方为失败。  <br />
  <br />
每个玩家的历史战绩都会以结算A、B、C的方式发送到客户端，开发者可以用于战绩显示，并可应用于排行榜设置，需要设置更多的战绩属性，可联系对战平台开发人员来设置拓展信息。  <br />
  <br />
二、排行榜 <br />
   <br />
 对战平台根据仲裁结果或拓展字段提供最多2个排行榜，开发者可以通过字段extend_0、extend_1上报过数据自定义排行榜信息。  <br />
 排行榜包含实时排行榜、个人排行榜、历史排行榜：  <br />
实时排行榜：对战平台排行榜是实时变化，现阶段至支持回调给客户端前N（100）名用户信息。 <br />
   <br />
三、登陆签到 <br />
   <br />
 对战平台提供根据周循环、每月日期签到的接口，开发者选择其中一种方式，自定义配置对应的签到奖励，奖励物品需要先进行商品设置。  <br />
 同时开发者需要使用X天连续签到后额外获得礼包奖励，在签到接口中可配置。 <br />
   <br />
四、机器人  <br />
 对战平台提供机器人接入接口，该机器人完全模拟真实用户，服务端生成该机器人信息及携带物品回调给客户端，客户端对接该机器人逻辑。  <br />
机器人匹配规则：用户进入匹配状态后，在X秒内没有匹配到真实用户，开发者可以自定义一个区间数值（X-N秒）在区间时间内随机加入机器人。  <br />
注：现阶段机器人只支持2人对战场。  <br />
  <br />
五、房间人数设置  <br />
 对战平台提供2、3、4人的上线设置，默认为2.  <br />
六、游戏有效时间  <br />
 开局时间过短，用户结束战斗，开发者可自定义设置一个时间在该时间内战斗结束，战绩无效。  <br />
  <br />
七、场次设置  <br />
对战平台后台提供场次配置的功能，需要对游戏设置不同进入门槛的开发者可以自定义设置该选项。  <br />
场次门槛：场次门槛是根据商品的种类（如金币、钻石等）来设置进入场次条件；  <br />
场次佣金：场次佣金是设置进入的用户双方各扣除一部分佣金，该佣金作用为：胜利的一方获取双方扣除的佣金、平局返回双方各自扣除的佣金、失败的用户该部分佣金被扣除；  <br />
场次消耗：场次消耗是系统对用户的抽成，用户每局在扣除的佣金中消耗掉该部分抽成（如佣金设置为100金币，消耗设置为20，最后胜利的用户加上自身扣除的金币一起获取160金币）。  <br />
  <br />
  <br />
八、等级经验  <br />
 开发者需求等级经验的配置，可以上传用户的每一局经验至对战平台，对战平台会做加减和储存，回调该数据给到开发者，开发者可以根据这个经验数量在客户端自定义等级公式计算用户等级。  <br />
  <br />
九、服务器时间  <br />
 为了防止用户修改游戏的系统时间来非法获取游戏内的奖励，对战平台提供服务器时间校验接口，开发者使用该接口游戏的时间将会与服务器一致。  <br />
  <br />
十、实时在线人数  <br />
 对战平台提供实时在线人数查询接口，开发者通过该接口可以实时查看到游戏内的在线用户人数，有添加场次的游戏可以查看到每个场次内用户的在线人数。  <br />
  <br />
十一、首次登陆奖励  <br />
 对战平台提供用户在第一次进入游戏时，设置发送游戏内的奖励，奖励的商品需要先设置商品信息，以用于选择奖励的内容。  <br />
  <br />
十二、商品设置  <br />
 通过对战平台商品设置后台，提供商品名称、商品类型、商品价值（与RMB换算的比例），即可储存该商品在服务端，服务端将会给开发者回调该商品信息用于该商品在客户端展示。  <br />
货币、钻石等内容在对战平台中都属于商品的一种，开发者只需要同样添加商品  <br />
  <br />
十三、商城兑换  <br />
 对战平台提供商城及商城物品兑换的接口，通过该接口，开发者可以使用在游戏内，用户使用货币购买物品的功能。  <br />
  <br />
十四、奖励发放设置  <br />
对战平台提供开发者给用户发放礼包奖励的能力，开发者只需要通过后台设置奖励名称、奖励用户、奖励内容、自定义设置奖励发放时间等信息，而客户端对这些礼包奖励进行包装即可发送给用户。  <br />
  <br />
注：设置奖励内容前需要先配置商品信息，以用于选择奖励的内容。  <br />
  <br />
十五、成就系统  <br />
对战平台提供成就系统的相关接口，通过后台可配置成就的名称、奖励内容等信息，由客户端自定义成就逻辑，用户触发逻辑条件获取成就奖励，对战平台会提供反向校验，默认每条成就每个用户可领取1次，成就被领取后，对战平台会返回信息给客户端，由客户端显示成就领取状态。  <br />
  <br />
由于部分功能配置现在还未对外开放，需要使用到该功能请联系对战平台对战引擎工作人员协助设置，欢迎大家提供更多宝贵的意见，我们尽可能完善更多的功能和服务，减轻开发者的负担，感谢大家的支持。  </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">制作者
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
